package com.wpen.unit.infra.mybatis.system.po;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.Date;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * UserPo.
 * 
 * @author Wang Peng(Auto Generator)
 * @date 2023-03-19
 * @version V5.0
 */
@Setter
@Getter
@ToString
@TableName("SYS_USER")
public class UserPo implements Cloneable, Serializable {
    private static final long serialVersionUID = -161123581321345589L;
    /* 主键 [19,0] Not NULL */
    @TableId
    private Long id;
    /* 用户编号 [16,0] Not NULL */
    private String userId;
    /* 姓名 [64,0] Not NULL */
    private String userName;
    /* 性别 [1,0] */
    private String gender;
    /* 邮箱 [128,0] */
    private String userEmail;
    /* 电话 [30,0] */
    private String userTelnum;
    /* 别名 [32,0] */
    private String englishName;
    /* 描述 [256,0] */
    private String userDesc;
    /* 创建时间 [19,0] */
    private Date createTime;
    /* 失效时间 [19,0] */
    private Date endTime;
    /* 启用状态 [1,0] Not NULL */
    private String status;
    /* 版本号 [10,0] */
    private Integer version;
    /* 时间戳 [19,0] Not NULL */
    private Timestamp updateTime;

    public UserPo() {
        super();
    }

    /** 浅克隆 */
    @Override
    public UserPo clone() {
        UserPo cloneUserPo = null;
        try {
            cloneUserPo = (UserPo) super.clone();
        } catch (CloneNotSupportedException e) {
            throw new RuntimeException(e);
        }
        return cloneUserPo;
    }

    /**
     * UserColumns.
     * 
     * @author Wang Peng(Auto Generator)
     * @date 2023-03-19
     * @version V5.0
     */
    public enum UserColumns {
        /** 主键**/
        ID,
        /** 用户编号**/
        USER_ID,
        /** 姓名**/
        USER_NAME,
        /** 性别**/
        GENDER,
        /** 邮箱**/
        USER_EMAIL,
        /** 电话**/
        USER_TELNUM,
        /** 别名**/
        ENGLISH_NAME,
        /** 描述**/
        USER_DESC,
        /** 创建时间**/
        CREATE_TIME,
        /** 失效时间**/
        END_TIME,
        /** 启用状态**/
        STATUS,
        /** 版本号**/
        VERSION,
        /** 时间戳**/
        UPDATE_TIME;
    }
}